package com.skt.domain.PO;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 审计日志表 - 持久化对象（PO）
 * <p>
 * 对应数据库表：audit_log
 */
@Data
@Accessors(chain = true)
@TableName("audit_log")
public class AuditLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 操作人ID（商家ID）
     */
    @TableField("operator_id")
    private Long operatorId;

    /**
     * 订单ID
     */
    @TableField("order_id")
    private Long orderId;

    /**
     * 操作类型（如：CONFIRM_RETURN_COMPLETED）
     */
    @TableField("action")
    private String action;

    /**
     * 操作时间
     */
    @TableField("operate_time")
    private LocalDateTime operateTime;

    /**
     * 客户端IP地址
     */
    @TableField("ip_address")
    private String ipAddress;

    /**
     * 用户代理（User-Agent）
     */
    @TableField("user_agent")
    private String userAgent;

    /**
     * 创建时间（自动填充）
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private LocalDateTime createdAt;
}